import { axios } from '@/utils/request'
import Qs from 'qs'

const api = {
  project: '/Project',
  export: '/Export',
  problemHandling: '/ProblemHandling'
}

// ========================== 项目接口 ==========================
/**
 * 获取工程列表
 * @param {*} parameter
 * @returns
 */
export function getProjectList(parameter) {
  return axios({
    url: `${api.project}/GetList`,
    method: 'get',
    params: parameter
  })
}

/**
 * 获取小型零星信息详情
 * @param {*} parameter
 * @returns
 */
export function getProjectById(parameter) {
  return axios({
    url: `${api.project}/GetProjectByID`,
    method: 'get',
    params: parameter
  })
}

/**
 * 获取小型零星工程带流程信息详情
 * @param {*} parameter
 * @returns
 */
export function getProjectExById(parameter) {
  return axios({
    url: `${api.project}/GetProjectExByID`,
    method: 'get',
    params: parameter
  })
}

/**
 * 批量删除项目
 * @param {*} parameter 
 * @returns 
 */
export function delProjectByIds(parameter) {
  return axios({
    url: `${api.project}/DeleteByIds`,
    method: 'post',
    data: parameter
  })
}

/**
 * 获取巡查问题列表
 * @param {*} parameter 
 * @returns 
 */
 export function getProblemHandlingList(parameter) {
  return axios({
    url: `${api.problemHandling}/GetList`,
    method: 'get',
    params: parameter
  })
}

/**
 * 获取巡查问题详情
 * GetDetailByID
 */ 
export function getDetailByID(parameter) {
  return axios({
    url: `${api.problemHandling}/GetDetailByID`,
    method: 'get',
    params: parameter
  })
}

/**
 * 获取巡查问题详情
 * GetDetailByEncryptionID
 */ 
export function getDetailByEncryptionID(parameter) {
  return axios({
    url: `${api.problemHandling}/GetDetailByEncryptionID`,
    method: 'get',
    params: parameter
  })
}

/**
 * 根据工程ID获取巡查问题列表
 * @param {*} parameter 
 * @returns 
 */
export function getListByProjectID(parameter) {
  return axios({
    url: `${api.problemHandling}/GetListByProjectID`,
    method: 'get',
    params: parameter
  })
}

/**
 * 派遣
 * @param {*} parameter 
 * @returns 
 */
export function dispatchDepartment(parameter) {
  return axios({
    url: `${api.problemHandling}/DispatchDepartment`,
    method: 'post',
    params: parameter
  })
}

/**
 * 获取举报列表
 * @param {*} parameter 
 * @returns 
 */
 export function GetReportList(parameter) {
  return axios({
    url: `${api.project}/GetReportList`,
    method: 'get',
    params: parameter
  })
}

/**
 * 获取小型零星工程信息详情(传入的参数加密）
 * @param {*} parameter 
 * @returns 
 */
export function GetProjectByEncryptionID(parameter) {
  return axios({
    url: `${api.project}/GetProjectByEncryptionID`,
    method: 'get',
    params: parameter
  })
}

/**
 * 获取疫情防控工程列表
 * @param {*} parameter 
 * @returns 
 */
 export function getListWithEpidemicControl(parameter) {
  return axios({
    url: `${api.project}/GetListWithEpidemicControl`,
    method: 'get',
    params: parameter
  })
}

/**
 * 获取工程地图列表
 * @param {*} parameter 
 * @returns 
 */
 export function GetMapList(parameter) {
  return axios({
    url: `${api.project}/GetMapList`,
    method: 'get',
    params: parameter
  })
}

/**
 * 根据条件获取超额工程数
 * @param {*} parameter
 * @returns
 */
export function GetOtherProjectNum(parameter) {
  return axios({
    url: `${api.project}/GetOtherProjectNum`,
    method: 'get',
    params: parameter
  })
}

/**
 * 获取待关联部门列表
 * @param {*} parameter 
 * @returns 
 */
export function GetOhterDepartment(parameter) {
  return axios({
    url: `${api.project}/GetOhterDepartment`,
    method: 'get',
    params: parameter
  })
}

/**
 * 获取已关联部门ID数组
 * @param {*} parameter 
 * @returns 
 */
export function GetAssociationDepartmentIDsByProjectID(parameter) {
  return axios({
    url: `${api.project}/GetAssociationDepartmentIDsByProjectID`,
    method: 'get',
    params: parameter
  })
}

/**
 * 保存关联部门
 * @param {*} parameter 
 * @returns 
 */
export function SaveAssociationDepartment(parameter) {
  return axios({
    url: `${api.project}/SaveAssociationDepartment`,
    method: 'post',
    data: parameter
  })
}

/**
 * 保存工程建设单位证件信息
 * @param {*} parameter 
 * @returns 
 */
export function SaveConstructionUnit(parameter) {
  return axios({
    url: `${api.project}/SaveConstructionUnit`,
    method: 'post',
    data: parameter
  })
}

/**
 * 获取部门巡查发现工程信息详情
 * @param {*} parameter
 * @returns
 */
export function GetPatrolProjectByID(parameter) {
  return axios({
    url: `${api.project}/GetPatrolProjectByID`,
    method: 'get',
    params: parameter
  })
}
// ========================== 导出接口 ==========================
/**
 * 导出工程清单
 * @param {*} parameter 
 * @returns 
 */
export function exportXls(parameter) {
  return axios({
    url: `${api.export}/ExportProjectList`,
    method: 'post',
    data: parameter
  })
}

/**
 * POST /api/Export/ExportBAB
 * 导出备案表
 * @param {*} parameter 
 * @returns 
 */
export function ExportBAB(parameter) {
  return axios({
    url: `${api.export}/ExportBAB?projectID=${parameter.projectID}`,
    method: 'post',
    data: parameter
  })
}

/**
 * POST /api/Export/ExportGSP
 * 导出公示牌
 * @param {*} parameter 
 * @returns 
 */
 export function ExportGSP(parameter) {
  return axios({
    url: `${api.export}/ExportGSP?projectID=${parameter.projectID}`,
    method: 'post',
    data: parameter
  })
}

/**
 * POST /api/Export/ExportJSDWCRS
 * 导出建设单位承诺书
 * @param {*} parameter 
 * @returns 
 */
 export function ExportJSDWCRS(parameter) {
  return axios({
    url: `${api.export}/ExportJSDWCRS?projectID=${parameter.projectID}`,
    method: 'post',
    data: parameter
  })
}

/**
 * POST /api/Export/ExportSGDWCRS
 * 导出施工单位承诺书
 * @param {*} parameter 
 * @returns 
 */
 export function ExportSGDWCRS(parameter) {
  return axios({
    url: `${api.export}/ExportSGDWCRS?projectID=${parameter.projectID}`,
    method: 'post',
    data: parameter
  })
}

/**
 * 获取部门巡查发现工程列表
 * @param {*} parameter 
 * @returns 
 */
export function GetPatrolList(parameter) {
  return axios({
    url: `${api.project}/GetPatrolList`,
    method: 'get',
    params: parameter
  })
}

// ========================== 其他接口 ==========================
/**
 * 获取所属村
 * @param {*} parameter 
 * @returns 
 */
export function GetAllChildDeptByParentID(id) {
  return axios({
    url: `/Department/GetAllChildDeptByParentID`,
    method: 'get',
    params: {
      depId: id
    }
  })
}
